Automated Presentation of directory src/exampleCode/audio/reverb/

HUB | Up | Download | Pheedbak | Tree | Topic | A-Z | Search | Hot | New


Please be aware: what appears below are the v4.2 DT bits in auto-generated html form.
As we have the time, we will update these to reflect the current "state of the world".


README file from "reverb" directory

             ~4Dgifts/toolbox/src/exampleCode/audio/reverb README
  

         Simulated reverberation for real-time audio input and output.  

                           Written by Gints Klimanis 
                       Silicon Graphics Computer Systems
                                     1994



    reverb usage:  -help
                   -verbose
                   -level              0..1
                   -noMonoProcess      each input processed
                   -reverbTime         seconds
                   -noPrime
                   -type               {comb, allpass,
                                       schroeder1, schroeder2,
                                       chamberlin,
                                       moorer, moorer2,
                                       er7, er19
                                       moorer2er7, moorer2er19}





                 all of the documentation contained herein is 
                lifted directly from the reverb.c source file.


  
    The algorithms generate room ambience rather than a realistic room 
    response.  For proper operation, ensure the input and output sampling 
    rates are equal and neither changes over time.
  
        The most advanced algorithm in this code is moorer2er19, which
        consumes roughly 50% of a 100 MHz R4000.  
  
        For the pronounced effect, try:
            > reverb -type moorer2er19 -reverbTime 10
  
        For reverberation times > 30 seconds, the decay seems to fizzle out 
        quite abruptly.  The cause is likely caused by single-precision 
        floating point artifacts in the computation of the low-pass filter 
        nested in each comb filter.  
  
        -noMonoProcess      specifies that a reverberator is computed for 
                            each input channel.  Otherwise, all inputs are 
                            summed into a single reverberator.  Algorithm 
                            types 'comb' and 'allpass'  are processed 
                            with a feedback gain of opposite polarity in
                            each of two output channels. 
  
        -reverbTime         default is 8 seconds.  Applies only to comb, 
                            allpass, schroeder2, moorer, moorer2, moorer2er7,
                            moorer2er19 algorithms.  Others have decay time 
                            as specified in design.
  
        -noPrime            prevents reciculated delay buffer lengths from 
                            quantization to prime value.  The "priming" 
                            seems to reduce ringing due to transients such 
                            as snare drum strike and low-level whining in 
                            the presence of input noise, so this parameter 
                            is provided for comparison.
  
        -type:              defaults is moorer2
  
        comb, allpass       comb and all-pass Interpolated Infinite Impulse 
                            Response (IIIR) filters.  
        schroeder1          quint series all-pass filter
        schroeder2          quad parallel comb into dual series all-pass 
                            filters
        chamberlin          quint series all-pass filter
        moorer              Moorer's hex parallel comb filters into single 
                            all-pass filter
        moorer2             hex parallel filtered-comb into single all-pass
                            filters
        er7, er19           early reflections patterns w/7 and 19 taps, 
                            respectively 
        moorer2er7, moorer2er19         early reflections + hex parallel 
                            filtered-comb into single all-pass filters.  
                            Early reflections fed into comb network.  
                            Scatter in 19 tap ER pattern yields algorithm 
                            with significantly less ring excited by 
                            transients such as snare drum strike.
  
        To my ears, moorer2 rings less to transients than moorer2er7, 
        moorer2er19.  However, moorer2er7 and moorer2er19 have smoother 
        decay than moorer2.  Not sure if ringing is caused by an error 
        in my implementation or by a comb-filter quality imposed by the 
        early reflection pattern.   Consider a diffusor other than the 
        early reflection pattern. 
  
    The following references contain detailed discussions of the 
    non-proprietary implementations found in the code in reverb.c:
  
    + Schroeder, M.R. and Logan, B.F., "'Colorless' Artificial Reverberation."
      Journal of the Audio Engineering Society v. 9, n. 3: pp. 192-197, 1962
  
    + Schroeder, M.R. , "Natural Sounding Artificial Reverberation." Journal 
      of the Audio Engineering Society v. 10, n. 3: pp. 219-223, 1962
  
    + Moorer, J.A., "About This Reverberation Business", Foundations of 
      Computer Music, Roads and Strawn, ed.: pp. 605-639, 1985
  
    + Chamberlin, Hal, Musical Applications of Microprocessors, 2nd Ed., 
      Hayden Books, A Division of Howard Sams & Co., Indianapolis, Indiana, 
      pp. 508-512, 1985
  



  
   Manfred Schroeder's conditions for artificial reverberators 
   (lifted from paper):
  
   1) The frequency response must be flat when measured with narrow bands 
      of noise, with the bandwidths corresponding to that of the transients 
      in the sound to be reverberated.  This condition is, of course, 
      fulfilled by reverberators which have a flat response even for 
      sinusoidal excitation.
  
   2) The normal modes of the reverberator must overlap and cover the entire
      audio frequency range.
  
   3) The reverberation times of the individual modes must be equal or 
      nearly equal so that different frequency components of the sound will 
      decay with equal rates.
  
   4) The echo density a short interval after shock excitation must be high
      enough so that individual echos are not resolved by the ear.
  
   5) The echo response must be free from periodicities (flutter echos)
  
   6) The amplitude-frequency response must not exhibit any apparent 
      periodicities.  Periodic or comblike frequency responses produce an 
      unpleasant hollow, reedy or metallic sound quality and give the 
      impression that the sound is transmitted through a hollow tube or 
      barrel.


Files of interest from "src/exampleCode/audio/reverb" directory

Source

Documentation

Reference


Select any combo of files you'd like to send yourself a compressed tar image of. Executables/scripts are indicated with a trailing `*' character. (Depending upon the browser, it may be necessary to hold down the Ctrl key to select/deselect disjoint items.) a compressed tar image of the above-selected items.
OR, ...
a compressed tar image of the entire reverb directory.

Copyright © 1995, Silicon Graphics, Inc.